﻿using System;
namespace Kis.Xroad.Eu {
    
    
    [System.SerializableAttribute()]
    public partial class SequenceArrayComplexType {
        
        private System.Collections.Generic.List<global::Kis.Xroad.Eu.Employee> @__complexReferenced = new System.Collections.Generic.List<global::Kis.Xroad.Eu.Employee>();
        
        private System.Collections.Generic.List<SequenceArrayComplexType.ComplexInlineType> @__complexInline = new System.Collections.Generic.List<SequenceArrayComplexType.ComplexInlineType>();
        
        public SequenceArrayComplexType() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public SequenceArrayComplexType(System.Collections.Generic.List<global::Kis.Xroad.Eu.Employee> @complexReferenced, System.Collections.Generic.List<SequenceArrayComplexType.ComplexInlineType> @complexInline) {
            this.@__complexReferenced = @complexReferenced;
            this.@__complexInline = @complexInline;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected SequenceArrayComplexType(SequenceArrayComplexType @sequenceArrayComplexType) {
            this.@__complexReferenced = @sequenceArrayComplexType.ComplexReferenced;
            this.@__complexInline = @sequenceArrayComplexType.ComplexInline;
        }
        
        public virtual System.Collections.Generic.List<global::Kis.Xroad.Eu.Employee> ComplexReferenced {
            get {
                return this.@__complexReferenced;
            }
            set {
                this.@__complexReferenced = value;
            }
        }
        
        public virtual System.Collections.Generic.List<SequenceArrayComplexType.ComplexInlineType> ComplexInline {
            get {
                return this.@__complexInline;
            }
            set {
                this.@__complexInline = value;
            }
        }
        
        [System.SerializableAttribute()]
        public partial class ComplexInlineType {
            
            private string @__country;
            
            private int @__city;
            
            private int @__street;
            
            public ComplexInlineType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public ComplexInlineType(string @country, int @city, int @street) {
                this.@__country = @country;
                this.@__city = @city;
                this.@__street = @street;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected ComplexInlineType(ComplexInlineType @complexInlineType) {
                this.@__country = @complexInlineType.Country;
                this.@__city = @complexInlineType.City;
                this.@__street = @complexInlineType.Street;
            }
            
            public virtual string Country {
                get {
                    return this.@__country;
                }
                set {
                    this.@__country = value;
                }
            }
            
            public virtual int City {
                get {
                    return this.@__city;
                }
                set {
                    this.@__city = value;
                }
            }
            
            public virtual int Street {
                get {
                    return this.@__street;
                }
                set {
                    this.@__street = value;
                }
            }
        }
    }
}
